/*==============================================================================
 * 							serializer.java
 * 
 * Autores: Josue Rendon, Byron Morales, Ernesto Rodriguez
 * 
 * Este programa permite grabar objetos de forma permanente en el disco duro.
 ==============================================================================*/

import java.io.*;

public class serializer {

	FileOutputStream file1;
	ObjectOutputStream outStream;
	ObjectInputStream inStream;
	FileInputStream file;

	//Este metodo carga los datos del registro en el disco duro.
	public Object loadRegistro() throws FileNotFoundException, IOException, ClassNotFoundException{
		
		//Los datos se cargaran a este objeto.
		Registro registro;
		
		//Verificar si existe el archivo donde se guardan los datos, de lo
		//contrario se creara uno.
		File file2 = new File("registro.dat");
		if(!file2.exists()){
			
			file2.createNewFile();
		}
			
		//El objeto file leera la informacion de los objetos serializados
		FileInputStream file = new FileInputStream ("registro.dat");
			
		//Se intentara recuperar los objetos del archivo, si el archivo
		//no tiene objetos se crea un registro nuevo
		try{
		ObjectInputStream inStream = new ObjectInputStream (file);
		registro = (Registro) inStream.readObject();
		file.close();
		}
		catch (EOFException e){
			registro = new Registro();
		}
		
		return registro;
	}
	
	//Este metodo permite serializar un objeto en el archivo registro.dat
	public void saveRegistro(Object arg0) throws FileNotFoundException, IOException{
		
		file1 = new FileOutputStream("registro.dat");
		outStream = new ObjectOutputStream(file1);
		outStream.writeObject(arg0);
		file1.close();
	}
	
}
